<?php
namespace app\admin\middleware;

use app\admin\lib\exception\BaseException;

class CheckAdmin
{
    public function handle($request, \Closure $next)
    {
        // 从请求对象获取用户信息，而不是使用静态方法
        $user = $request->user;

        // 验证是否为管理员（role=1）
        if (empty($user) || $user['role'] != 1) {
            throw new BaseException([
                'code' => 403,
                'message' => '没有管理员权限',
                'errorCode' => 10010
            ]);
        }

        return $next($request);
    }
}